package com.chima.service;

import java.util.List;

import org.springframework.transaction.annotation.Transactional;

import com.chima.domain.AllRewardPercent;
import com.chima.domain.DepartJobfinace;
import com.chima.domain.Department;
import com.chima.domain.DepartmentCoffer;
import com.chima.domain.DepartmentFinace;
import com.chima.domain.Employees;
import com.chima.domain.Finace;
import com.chima.domain.FinacePercent;
import com.chima.domain.LeaderReward;
import com.chima.domain.MiddleEmpRate;
import com.chima.domain.MiddleReward;
import com.chima.domain.PageRequestBean;
import com.chima.domain.PageResponseBean;
import com.chima.domain.RewardStock;
@Transactional
public interface DepartmentFinaceService {
	
	public PageResponseBean ListDeptFinace(PageRequestBean pageRequestBean);
	public void  savaOrupdate(String date, Department dept,double reward, double allcore, double dc);
	public double  findDeptfiance(String date,  String dept);
	public List<FinacePercent> ListFinacePercent();
	public void savaFinacePercent(FinacePercent f);
	public void updateFinacePercent(FinacePercent f);
	public void updateinFinacePercent(AllRewardPercent a);
	public void deleteFinacePercent(int id);
	public List<Finace>  listFinace(String date);
	public void savaOrupdateFinace(String name, String date,double finace);
	
	public List<LeaderReward>  listLeaderFinace(String date);
	public List<MiddleReward>  listMiddleReward(String date);
	public void savaOrupdateLeadFinace(Employees e, String date,double finace);
	public void savaOrupdateMiddleFinace(Employees e, String date,double finace,double totalCoffer);
	public MiddleEmpRate  finfMiddleEmpRate(String name,String date);
	
	public PageResponseBean ListDeptCoffer(PageRequestBean pageRequestBean);
	
	public void updateDepartmentCoffer(DepartmentCoffer f);
	
	public DepartmentFinace  findDeptFinacebyDeptAnddate (String dept, String date);
	
	public List<AllRewardPercent> ListinFinacePercent();
	public AllRewardPercent FindinFinacePercent();
	
	public List<RewardStock>  listRewardStock();
	public void editRewardStock(RewardStock r ); 
	public void savaRewardStock(RewardStock r ); 
	public RewardStock findRewardStock(String year); 
	public double FindfinaceBydateAndName(String date,String name);
	
	public PageResponseBean ListListDepartJobfinace(PageRequestBean pageRequestBean);
	
	public void savaorupdateDepartJobfinace(DepartJobfinace f);
	
	public DepartmentCoffer FindDepartmentCofferByName(String name );
	public double  countDepartcoffe (int dept);
	
	public List<DepartmentFinace> findDepartmentFinaceByDate(String date);
	public double finddeptcorebydateanddept(String searchdate, Department d);
	
}
